package cn.catsdad.entity;

import cn.catsdad.base.entity.BaseCrudEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.MappedSuperclass;

/**
 * 目录实体
 *
 * @author xuyonglong
 * @version V1.0 2023/4/12
 */
@EqualsAndHashCode(callSuper = true)
@Data
@MappedSuperclass
public class Menu extends BaseCrudEntity {

    /**
     * 菜单名称
     */
    private String name;

    /**
     * url
     */
    private String url;

    /**
     * 路由地址
     */
    private String router;

    /**
     * 组件路径
     */
    private String componentPath;

    /**
     * 父级id
     */
    private Long parentId;

    /**
     * 类型
     * {@link cn.catsdad.constant.enumConstant.AuthEnum.MenuType}
     */
    private Integer type;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 权限编码
     */
    private String permCode;

    /**
     * 组件名称
     */
    private String componentName;

    /**
     * 重定向路径
     */
    private String redirectPath;

    /**
     * 显示状态
     * {@link cn.catsdad.constant.enumConstant.AuthEnum.MenuShowStatus}
     */
    private Integer showStatus;

    /**
     * 状态
     * {@link cn.catsdad.constant.enumConstant.GenericStatus}
     */
    private Integer status;

    /**
     * 是否缓存
     */
    private Boolean keepAlive;

    /**
     * 排序值
     */
    private Integer orderNum;

}
